package net.lab1024.sa.base.module.support.rule.domain.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.math.BigDecimal;
import java.util.List;

import lombok.Data;

/**
 * 规则主表 实体类
 *
 * @Author chenyuqiang
 * @Date 2025-08-21 22:46:37
 * @Copyright 1
 */

@Data
@TableName("rule_cep")
public class CepEntity {

    /**
     * 规则ID
     */
    @TableId
    private Long id;

    /**
     * 规则名称
     */
    private String ruleName;

    /**
     * 规则编码
     */
    private String ruleCode;

    /**
     * 规则描述
     */
    private String ruleDescription;

    /**
     * 规则类型
     */
    private String ruleType;

    /**
     * 规则优先级，数字越大优先级越高
     */
    private Integer priority;

    /**
     * 规则状态：ACTIVE 激活，INACTIVE 停用
     */
    private String status;

    /**
     * 规则版本 必须指定版本 规则发生变化 版本号要跟随
     */
    private String version;

    /**
     * 创建时间
     */
    private String createdTime;

    /**
     * 更新时间
     */
    private String updatedTime;

    /**
     * 创建人
     */
    private String createdBy;

    /**
     * 更新人
     */
    private String updatedBy;

    /**
     * 负责规则语句
     */
    private String epl;

    /**
     * 默认秒
     */
    private BigDecimal windowSize;

    /**
     * 默认秒
     */
    private String windowSlide;

    /**
     * 分组字段
     */
    private String groups;

    /**
     * 0 正常 1 白名单
     */
    private Integer white;

    /**
     * 0 正常 1 异常推送
     */
    private Integer errorStatus;

    /**
     * 0 正常 1 异常推送
     */
    private Integer logStatus;


    @TableField(exist = false)
    private List<RuleCepStep> ruleCepStepList;

}
